package com.srmt.feishu.client.model;

import java.util.List;

/**
 * 表格保护维度配置
 * 
 * @author SRMT Development Team
 * @since 5.1.0
 */
public class ProtectedDimension {
    private DimensionRange dimension;
    private List<String> users;
    private String lockInfo;
    
    // 构造函数
    public ProtectedDimension() {}
    
    public ProtectedDimension(DimensionRange dimension, List<String> users, String lockInfo) {
        this.dimension = dimension;
        this.users = users;
        this.lockInfo = lockInfo;
    }
    
    // Builder模式
    public static Builder builder() {
        return new Builder();
    }
    
    public static class Builder {
        private DimensionRange dimension;
        private List<String> users;
        private String lockInfo;
        
        public Builder dimension(DimensionRange dimension) {
            this.dimension = dimension;
            return this;
        }
        
        public Builder users(List<String> users) {
            this.users = users;
            return this;
        }
        
        public Builder lockInfo(String lockInfo) {
            this.lockInfo = lockInfo;
            return this;
        }
        
        public ProtectedDimension build() {
            return new ProtectedDimension(dimension, users, lockInfo);
        }
    }
    
    // Getters and Setters
    public DimensionRange getDimension() { 
        return dimension; 
    }
    
    public void setDimension(DimensionRange dimension) { 
        this.dimension = dimension; 
    }
    
    public List<String> getUsers() { 
        return users; 
    }
    
    public void setUsers(List<String> users) { 
        this.users = users; 
    }
    
    public String getLockInfo() { 
        return lockInfo; 
    }
    
    public void setLockInfo(String lockInfo) { 
        this.lockInfo = lockInfo; 
    }
}